package erp_models

import (
	"time"
	"xiehui-service/app/models"
)

// MaterialWeight 原料过磅
type MaterialWeight struct {
	models.ID
	DataSource      int64     `gorm:"data_source" json:"data_source"`                    // 数据来源 1 人工地磅 2 自动地磅 3 手动入库 4 地磅小程序 5 外部来源
	ExtSource       string    `gorm:"ext_source" json:"ext_source"`                      // 外部来源
	LineNumber      string    `gorm:"column:line_number" json:"line_number"`             //绑定生产线编码
	MixingStationId int64     `gorm:"column:mixing_station_id" json:"mixing_station_id"` //拌站ID
	WeightNo        string    `gorm:"weight_no" json:"weight_no"`                        // 称重编号
	StockId         string    `gorm:"stock_id" json:"stock_id"`                          // 仓库id
	MaterialId      int64     `gorm:"material_id" json:"material_id"`                    // 材料id
	MaterialName    string    `gorm:"material_name" json:"material_name"`                // 材料名称
	MaterialSpec    string    `gorm:"material_spec" json:"material_spec"`                // 材料规格
	SupplierId      int64     `gorm:"supplier_id" json:"supplier_id"`                    // 供应商
	SupplierName    string    `gorm:"supplier_name" json:"supplier_name"`                // 供应商
	ContractId      int64     `gorm:"contract_id" json:"contract_id"`                    // 合同id
	FleetCarId      int64     `gorm:"fleet_car_id" json:"fleet_car_id"`                  // 车辆id
	DriverId        string    `gorm:"driver_id" json:"driver_id"`                        // 驾驶员
	DriverName      string    `gorm:"driver_name" json:"driver_name"`                    // 驾驶员姓名
	DriverTel       string    `gorm:"driver_tel" json:"driver_tel"`                      // 驾驶员电话
	WbNo            int64     `gorm:"wb_no" json:"wb_no"`                                // 地磅id
	TruckLp         string    `gorm:"truck_lp" json:"truck_lp"`                          // 车牌
	GrossWeight     float64   `gorm:"gross_weight" json:"gross_weight"`                  // 毛重
	GrossDatetime   time.Time `gorm:"gross_datetime" json:"gross_datetime"`              // 毛重称重时间
	TareWeight      float64   `gorm:"tare_weight" json:"tare_weight"`                    // 皮重
	TareDatetime    time.Time `gorm:"tare_datetime" json:"tare_datetime"`                // 皮重称重时间
	NetWeight       float64   `gorm:"net_weight" json:"net_weight"`                      // 净重
	QrWeight        float64   `gorm:"qr_weight" json:"qr_weight"`                        // 签收重量
	QrMaterialTime  time.Time `gorm:"qr_material_time" json:"qr_material_time"`          // 收料时间
	QrMaterialBy    string    `gorm:"qr_material_by" json:"qr_material_by"`              // 收料员
	RealGrossWeight float64   `gorm:"real_gross_weight" json:"real_gross_weight"`        // 实际毛重
	RealTareWeight  float64   `gorm:"real_tare_weight" json:"real_tare_weight"`          // 实际皮重
	RealNetWeight   float64   `gorm:"real_net_weight" json:"real_net_weight"`            // 实际净重
	ExNetWeight     float64   `gorm:"ex_net_weight" json:"ex_net_weight"`                // 出厂净重
	ExGrossWeight   float64   `gorm:"ex_gross_weight" json:"ex_gross_weight"`            // 出厂毛重
	ExTareWeight    float64   `gorm:"ex_tare_weight" json:"ex_tare_weight"`              // 出厂皮重
	Difference      float64   `gorm:"difference" json:"difference"`                      // 差值
	DeductWater     float64   `gorm:"deduct_water" json:"deduct_water"`                  // 含水
	LightType       int8      `gorm:"light_type" json:"light_type"`                      // 明扣类型 1: 百分比  2:KG
	LightDeduct     float64   `gorm:"light_deduct" json:"light_deduct"`                  // 明扣
	HiddenDeduct    float64   `gorm:"hidden_deduct" json:"hidden_deduct"`                // 暗扣
	TotalDeduct     float64   `gorm:"total_deduct" json:"total_deduct"`                  // 合计扣称
	Logistic        string    `gorm:"logistic" json:"logistic"`                          // 物流
	Remark          string    `gorm:"remark" json:"remark"`                              // 备注
	Extrainfo       string    `gorm:"extrainfo" json:"extrainfo"`                        // 其他
	OperatorBy      int64     `gorm:"operator_by" json:"operator_by"`                    // 操作人(称毛)
	Weight          float64   `gorm:"weight" json:"weight"`                              // 容量
	Manual          int8      `gorm:"manual" json:"manual"`                              // 是否手动入库单  0 地磅单  1 手动单
	Warehouse       int8      `gorm:"warehouse" json:"warehouse"`                        // 是否入库 true-已入库 false-未入库 （打印时同步仓库）
	AccountDeduct   float64   `gorm:"account_deduct" json:"account_deduct"`              // 会计扣称
	OperaterTare    int64     `gorm:"operater_tare" json:"operater_tare"`                // 操作人(称皮)
	CreatedBy       int64     `gorm:"created_by" json:"created_by"`                      // 创建人
	UpdatedBy       int64     `gorm:"updated_by" json:"updated_by"`                      // 更新人
	VerifyBy        string    `gorm:"verify_by" json:"verify_by"`                        // 检验人
	VerifyResult    string    `gorm:"verify_result" json:"verify_result"`                // 检验结果
	StorageTime     time.Time `gorm:"storage_time" json:"storage_time"`                  // 入库时间
	StorageWeight   float64   `gorm:"storage_weight" json:"storage_weight"`              // 入库重量
	PrintCount      int8      `gorm:"print_count" json:"print_count"`                    // 打印累计
	models.Timestamps
	models.SoftDeletes
}

// TableName 表名称
func (MaterialWeight) TableName() string {
	return "material_weight"
}
